import axios from 'axios';
import { MessageBox } from 'element-ui';

// 创建一个 Axios 实例
const service = axios.create({
    baseURL: "/api",
    timeout: 100000
});

// 设置请求拦截器
service.interceptors.request.use(config => {
    // 1. 获取 sessionStorage 中的 token
    let token = sessionStorage.getItem("token");
    // 2. 判断 token 是否存在
    if (token) {
        config.headers.token = token;
    }
    return config;
});

service.interceptors.response.use(function (response) {
    // Do something with response data
    if (response.data.code == 200) {
        // 跳转到登录页面
        return response;
    } else if (response.data.code == 403) {
        MessageBox.alert('登录过期，请重新登录', '提示', {
            confirmButtonText: '确定',
            callback: action => {
                // 跳转到登录页面
                location.href = '/#/login';
            }
        });
        return Promise.reject("登录超时");
    } else {
        return Promise.reject("服务器有误");
    }
})

export default service;
